在上一個單元,已經學習到如何顯示 Hello World,這個最基礎的知識之後。接下來繼續打基礎,從這個單元開始,會接觸各種程式邏輯判斷的方法,會先從 if 判斷開始,首先先來看看什麼是 if 判斷。
一樣跟上一個單元一樣,宣告一個變數 isShow
,但這裡的變數的型別是使用布林型別,只有 true
與 false
兩種值,將其設定為 true
:
<script>
export default {
name: 'App',
data() {
return {
isShow: true,
};
},
};
</script>
接下來使用 if 判斷式來判斷這個變數 isShow
是不是等於 true
,如果等於 true
的話才會顯示內容,否則的話就不顯示。在 Vue3 使用 if 判斷式是使用 v-if
這個關鍵字:
<p v-if="isShow">Hello World</p>
所以將程式碼結合起來:
<template>
<p v-if="isShow">Hello World</p>
</template>
<script>
export default {
name: 'App',
data() {
return {
isShow: true,
};
},
};
</script>
在 data(){}
內宣告了一個布林變數為 isShow
,在 template 之中使用 Vue3 標籤 v-if
並且指定變數為 isShow
,就可以使用 isShow
這個變數來控制是否顯示 Hello World 這樣的內容。
可以把 isShow
修改為 false
,然後看看 Hello World 是不是還會顯示。
if 判斷式也可以加入 else 的判斷語法,v-if
跟 v-else-if
。先宣告一個變數 x 等於 2:
<script>
export default {
name: 'App',
data() {
return {
x: 2,
};
},
};
</script>
然後加入 v-if 與 v-else-if 判斷:
<template>
<p v-if="x === 0">x = 0</p>
<p v-else-if="x === 1">x = 1</p>
<p v-else-if="x === 2">x = 2</p>
<p v-else>x != 0</p>
</template>
<script>
export default {
name: 'App',
data() {
return {
x: 2,
};
},
};
</script>
這個多重的 if else 結構是指,如果 x 等於 0 的話就顯示 x = 0,否則 x 等於 1 的話就顯示 x = 1,否則 x 等於 2 的話就顯示 x = 2,如果都不等於 0 且也不等於 1 且也不等於 2 的話就顯示 x != 0 。
最後, v-show
跟 v-if
會有一樣的效果,將 v-if
改成 v-show
:
<template>
<p v-show="isShow">Hello World</p>
</template>
<script>
export default {
name: 'App',
data() {
return {
isShow: true,
};
},
};
</script>
v-show
與 v-if
的差別在於,無法像 v-if
一樣可以寫多重的 if 判斷,另外如果 v-show
不顯示的話,會在 html 上顯示:
<p style="display: none;">Hello World</p>
而 v-if
不顯示的話,會變成連 html 標籤都會消失不見。
Vue3 - 從零開始學 - Day4 [完]